from multiprocessing import Queue
import time
q = Queue(3)
q.put('hello')
q.put('world')
q.put('python')
time.sleep(1)
print(q.empty()) #False  如果没等待，则直接执行返回为True
# q.qsize() 你遇到的 NotImplementedError 错误是因为在某些平台（如 macOS 或 Linux）上，multiprocessing.Queue.qsize() 方法的底层实现依赖于操作系统特性，可能未被完全支持。这是 Python 多进程模块的一个已知限制

# q.put('python2') #如果队列已满，则再用put添加会一直等待有消息出栈然后添加
# q.put('python3',block=True, timeout=3)  #如果队列已满，再用put添加，可以设置超时时间，在设置的时间内没有消息出栈则报错
# q.put_nowait('pytho4')  #如果队列已满，则再添加报错


# print(q.get())
# print(q.get())
# print(q.get())
# print(q.get()) #当队列已空，再取消息，则会等待，一直等到有新消息入队
# print(q.get_nowait()) #当队列已空，再取消息则直接报错

# print(q.full()) #False
# print(q.empty()) #True

q.close()
